﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;
using Volo.Abp;

namespace SanJ.FreeCare.Schedules
{
    public class ScheduleHoliday : AuditedAggregateRoot<Guid>, IMultiTenant, ISoftDelete
    {
        /// <summary>
        /// 院区ID UI上没有 是否需要增加
        /// </summary>
        public Guid? OrganizationId { get; set; }

        /// <summary>
        /// 节假日编码
        /// </summary>
        public string HolidayCode { get; set; }

        /// <summary>
        /// 开始时间
        /// </summary>
        public DateTime StartTime { get; set; }

        /// <summary>
        /// 结束时间
        /// </summary>
        public DateTime EndTime { get; set; }

        /// <summary>
        /// 上班信息
        /// </summary>
        public List<WorkInfo> WorkInfos { get; set; }

        /// <summary>
        /// 调休日期
        /// </summary>
        public List<LeaveInLieus> LeaveInLieus { get; set; }

        /// <summary>
        /// 注释
        /// </summary>
        public string? Comment { get; set; }

        public Guid? TenantId { get; set; }

        public bool IsDeleted { get; set; }
    }

    public class LeaveInLieus
    {
        public DateTime OldTime { get; set; }

        public DateTime LeaveInLieuTime { get; set; }
    }

    public class WorkInfo
    {
        public DateTime WorkInfoTime { get; set; }

        public bool IsRegister { get; set; }

        public bool IsReservation { get; set; }
    }
}
